Functions এর ডিক্লারেশন এবং Call

Computer Programming - গ্রুভি (Groovy) Functions এবং Closures (ফাংশন এবং ক্লোজার) |
184
184

Groovy তে ফাংশন ডিক্লারেশন এবং কল

Groovy তে ফাংশন (বা মেথড) ডিক্লারেশন এবং কল করা Java এর মতোই সহজ। তবে, Groovy এর মেথড ডিক্লারেশন কিছুটা সংক্ষিপ্ত এবং নমনীয়, যা কোড লেখাকে আরও দ্রুত এবং সহজ করে তোলে। Groovy তে মেথডকে সাধারণত def কীওয়ার্ড ব্যবহার করে ডিক্লার করা হয় এবং টাইপ ডিক্লারেশন বাধ্যতামূলক নয়।


1. Basic Function Declaration (সাধারণ ফাংশন ডিক্লারেশন)

Groovy তে একটি ফাংশন ডিক্লার করতে def কীওয়ার্ড ব্যবহার করা হয়। আপনি চাইলে ফাংশন রিটার্ন টাইপ উল্লেখ করতে পারেন, তবে এটি বাধ্যতামূলক নয়।

def greet() {
    println "Hello, Groovy!"
}

// ফাংশন কল
greet()  // Output: Hello, Groovy!

পার্থক্য: Java তে void টাইপ ডিক্লার করতে হয়, কিন্তু Groovy তে def ব্যবহার করা হয়, এবং এটি টাইপ নির্বিশেষে কাজ করতে পারে।


2. ফাংশনে প্যারামিটার পাস করা

Groovy তে প্যারামিটারসহ ফাংশন ডিক্লার করা যায়। এই ফাংশন একটি বা একাধিক প্যারামিটার গ্রহণ করতে পারে।

def greet(name) {
    println "Hello, $name!"
}

// ফাংশন কল
greet("Alice")  // Output: Hello, Alice!

পার্থক্য: Groovy তে def ব্যবহার করার কারণে প্যারামিটার টাইপ নির্ধারণ করা বাধ্যতামূলক নয়। এটি ডাইনামিক ভাবে কাজ করে।


3. ডিফল্ট প্যারামিটার ভ্যালু সহ ফাংশন

Groovy তে ফাংশন প্যারামিটারগুলির জন্য ডিফল্ট মান নির্ধারণ করা যায়। যদি কল করার সময় কোনো মান প্রদান না করা হয়, তবে ডিফল্ট মান ব্যবহার হবে।

def greet(name = "Guest") {
    println "Hello, $name!"
}

// ফাংশন কল
greet("Alice")   // Output: Hello, Alice!
greet()          // Output: Hello, Guest!

উল্লেখযোগ্য দিক: Java তে ডিফল্ট প্যারামিটার ব্যবহার করা যায় না, তবে Groovy তে ডিফল্ট মান সেট করা সম্ভব।


4. ফাংশন রিটার্ন টাইপ এবং মান

Groovy তে কোনো ফাংশন একটি রিটার্ন মান প্রদান করতে পারে। Groovy তে return কীওয়ার্ড উল্লেখ না করলেও, ফাংশনের শেষ এক্সপ্রেশন স্বয়ংক্রিয়ভাবে রিটার্ন হয়।

def add(a, b) {
    a + b  // এটি স্বয়ংক্রিয়ভাবে রিটার্ন হবে
}

// ফাংশন কল এবং রিটার্ন মান ব্যবহার
def result = add(5, 10)
println result  // Output: 15

Java এর তুলনায় পার্থক্য: Java তে return ব্যবহার করা বাধ্যতামূলক, কিন্তু Groovy তে এটি ঐচ্ছিক।


5. নেস্টেড ফাংশন (Nested Functions)

Groovy তে ফাংশনের মধ্যে আরেকটি ফাংশন ডিক্লার করা সম্ভব।

def outerFunction() {
    def innerFunction() {
        println "This is inner function."
    }
    println "This is outer function."
    innerFunction()
}

// ফাংশন কল
outerFunction()
// Output:
// This is outer function.
// This is inner function.

Java এর তুলনায় পার্থক্য: Java তে ফাংশনের ভিতরে ফাংশন ডিক্লার করা যায় না, তবে Groovy তে এটি করা সম্ভব।


6. ক্লোজার (Closure) হিসেবে ফাংশন ডিক্লারেশন

Groovy তে ক্লোজার (Closure) ফাংশন হিসাবে ব্যবহার করা যেতে পারে। ক্লোজার একটি বিশেষ ধরনের ফাংশন, যা একটি ভেরিয়েবলে সংরক্ষণ করা যায় এবং যেকোনো সময় কল করা যায়।

def greet = { name -> "Hello, $name!" }
println greet("Groovy")  // Output: Hello, Groovy!

পার্থক্য: Java তে ক্লোজার ফাংশন হিসাবে সরাসরি ব্যবহার করা যায় না, কিন্তু Groovy তে এটি সহজেই ব্যবহৃত হয় এবং এটি ফাংশনাল প্রোগ্রামিংয়ের সুবিধা প্রদান করে।


7. Variadic ফাংশন (একাধিক প্যারামিটার গ্রহণ)

Groovy তে একাধিক প্যারামিটার গ্রহণ করতে ... ব্যবহার করা হয়, যা ফাংশনকে একটি আরগুমেন্ট তালিকা তৈরি করতে সক্ষম করে।

def addAll(int... numbers) {
    numbers.sum()
}

println addAll(1, 2, 3, 4, 5)  // Output: 15

Java এর তুলনায় পার্থক্য: Java তে ভ্যারিয়াডিক প্যারামিটার ব্যবহার করা গেলেও Groovy তে এটি আরও সহজে এবং সরলভাবে লেখা যায়।


সারসংক্ষেপ:

Groovy তে ফাংশন ডিক্লারেশন এবং কল করা Java এর তুলনায় সহজ এবং নমনীয়। Groovy এর def কীওয়ার্ড, ডিফল্ট প্যারামিটার মান, রিটার্ন টাইপের সহজতা, এবং ক্লোজার সমর্থন Groovy এর ফাংশন ডিক্লারেশনকে আরও শক্তিশালী এবং কার্যকর করে তোলে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion